package com.study.mybatisplus.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * <p>
 * 用户明信片
 * </p>
 *
 * @author flwu
 * @since 2020-03-20
 */
@TableName("tbl_user_postcard")
public class UserPostcard implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 明信片ID
     */
    private Long postcardId;

    /**
     * 明信片标题
     */
    private String postcardTitle;

    /**
     * 明信片作者
     */
    private String postcardAuthor;

    /**
     * 明信片描述
     */
    private String postcardDescribe;

    /**
     * 明信片价格（金币数量）
     */
    private Long postcardCoin;

    /**
     * 明信片发行数量
     */
    private Long postcardPublishCount;

    /**
     * 明信片分类ID
     */
    private Long postcardCategoryId;

    /**
     * 类型：1：一对一；2：一对多
     */
    private Boolean postcardCategoryType;

    /**
     * 明信片资源ID
     */
    private Long postcardResourceId;

    /**
     * 明信片资源类型，1：视频；2：图片
     */
    private Boolean postcardResourceType;

    /**
     * 明信片资源地址
     */
    private String postcardResourceUrl;

    /**
     * 明信片封面地址
     */
    private String postcardCoverUrl;

    /**
     * 明信片是否限制城市
     */
    private Boolean postcardIsLimitCity;

    /**
     * 明信片限定城市
     */
    private String postcardCity;

    /**
     * 明信片发行时间
     */
    private LocalDateTime postcardCreateDatetime;

    /**
     * 序号
     */
    private Long serialNumber;

    /**
     * 是否被使用
     */
    private Boolean isUse;

    /**
     * 使用时间
     */
    private LocalDateTime useDatetime;

    /**
     * 创建时间
     */
    private LocalDateTime createDatetime;

    /**
     * 最后更新时间
     */
    private LocalDateTime updateDatetime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
    public Long getPostcardId() {
        return postcardId;
    }

    public void setPostcardId(Long postcardId) {
        this.postcardId = postcardId;
    }
    public String getPostcardTitle() {
        return postcardTitle;
    }

    public void setPostcardTitle(String postcardTitle) {
        this.postcardTitle = postcardTitle;
    }
    public String getPostcardAuthor() {
        return postcardAuthor;
    }

    public void setPostcardAuthor(String postcardAuthor) {
        this.postcardAuthor = postcardAuthor;
    }
    public String getPostcardDescribe() {
        return postcardDescribe;
    }

    public void setPostcardDescribe(String postcardDescribe) {
        this.postcardDescribe = postcardDescribe;
    }
    public Long getPostcardCoin() {
        return postcardCoin;
    }

    public void setPostcardCoin(Long postcardCoin) {
        this.postcardCoin = postcardCoin;
    }
    public Long getPostcardPublishCount() {
        return postcardPublishCount;
    }

    public void setPostcardPublishCount(Long postcardPublishCount) {
        this.postcardPublishCount = postcardPublishCount;
    }
    public Long getPostcardCategoryId() {
        return postcardCategoryId;
    }

    public void setPostcardCategoryId(Long postcardCategoryId) {
        this.postcardCategoryId = postcardCategoryId;
    }
    public Boolean getPostcardCategoryType() {
        return postcardCategoryType;
    }

    public void setPostcardCategoryType(Boolean postcardCategoryType) {
        this.postcardCategoryType = postcardCategoryType;
    }
    public Long getPostcardResourceId() {
        return postcardResourceId;
    }

    public void setPostcardResourceId(Long postcardResourceId) {
        this.postcardResourceId = postcardResourceId;
    }
    public Boolean getPostcardResourceType() {
        return postcardResourceType;
    }

    public void setPostcardResourceType(Boolean postcardResourceType) {
        this.postcardResourceType = postcardResourceType;
    }
    public String getPostcardResourceUrl() {
        return postcardResourceUrl;
    }

    public void setPostcardResourceUrl(String postcardResourceUrl) {
        this.postcardResourceUrl = postcardResourceUrl;
    }
    public String getPostcardCoverUrl() {
        return postcardCoverUrl;
    }

    public void setPostcardCoverUrl(String postcardCoverUrl) {
        this.postcardCoverUrl = postcardCoverUrl;
    }
    public Boolean getPostcardIsLimitCity() {
        return postcardIsLimitCity;
    }

    public void setPostcardIsLimitCity(Boolean postcardIsLimitCity) {
        this.postcardIsLimitCity = postcardIsLimitCity;
    }
    public String getPostcardCity() {
        return postcardCity;
    }

    public void setPostcardCity(String postcardCity) {
        this.postcardCity = postcardCity;
    }
    public LocalDateTime getPostcardCreateDatetime() {
        return postcardCreateDatetime;
    }

    public void setPostcardCreateDatetime(LocalDateTime postcardCreateDatetime) {
        this.postcardCreateDatetime = postcardCreateDatetime;
    }
    public Long getSerialNumber() {
        return serialNumber;
    }

    public void setSerialNumber(Long serialNumber) {
        this.serialNumber = serialNumber;
    }
    public Boolean getUse() {
        return isUse;
    }

    public void setUse(Boolean isUse) {
        this.isUse = isUse;
    }
    public LocalDateTime getUseDatetime() {
        return useDatetime;
    }

    public void setUseDatetime(LocalDateTime useDatetime) {
        this.useDatetime = useDatetime;
    }
    public LocalDateTime getCreateDatetime() {
        return createDatetime;
    }

    public void setCreateDatetime(LocalDateTime createDatetime) {
        this.createDatetime = createDatetime;
    }
    public LocalDateTime getUpdateDatetime() {
        return updateDatetime;
    }

    public void setUpdateDatetime(LocalDateTime updateDatetime) {
        this.updateDatetime = updateDatetime;
    }

    @Override
    public String toString() {
        return "UserPostcard{" +
            "id=" + id +
            ", userId=" + userId +
            ", postcardId=" + postcardId +
            ", postcardTitle=" + postcardTitle +
            ", postcardAuthor=" + postcardAuthor +
            ", postcardDescribe=" + postcardDescribe +
            ", postcardCoin=" + postcardCoin +
            ", postcardPublishCount=" + postcardPublishCount +
            ", postcardCategoryId=" + postcardCategoryId +
            ", postcardCategoryType=" + postcardCategoryType +
            ", postcardResourceId=" + postcardResourceId +
            ", postcardResourceType=" + postcardResourceType +
            ", postcardResourceUrl=" + postcardResourceUrl +
            ", postcardCoverUrl=" + postcardCoverUrl +
            ", postcardIsLimitCity=" + postcardIsLimitCity +
            ", postcardCity=" + postcardCity +
            ", postcardCreateDatetime=" + postcardCreateDatetime +
            ", serialNumber=" + serialNumber +
            ", isUse=" + isUse +
            ", useDatetime=" + useDatetime +
            ", createDatetime=" + createDatetime +
            ", updateDatetime=" + updateDatetime +
        "}";
    }
}
